<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //1.查找数组中的最大值/最小值 Math.max(a,b,c.....) Math.min(a,b,c.....)
        //数组没有这个方法，借用数学的
        // let arr = [10,33,44,21,45,78,34,2];
        // let max = Math.max.apply(Math,arr);
        // let min = Math.min.apply(Math,arr);
        // console.log('最大值：'+ max + '\n'+'最小值:'+min); //78  2

        //维数组转为真数组
        let weiArr = {
            0: 1109,
            1: 110,
            2: 220,
            3: 215,
            4: 210,
            5: 500,
            6: 400,
            length: 7
        };
        //push() 方法将一个或多个元素添加到数组的末尾，并返回该数组的新长度
        console.log(weiArr);//[[Prototype]]: Object
        // let arr = [];
        // arr.push.apply(arr,weiArr);
        // console.log(arr);//[[Prototype]]: Array(0)

        //concat() 方法用于合并两个或多个数组。此方法不会更改现有数组，而是返回一个新数组
        // let arr = [];
        // let newArr =  arr.concat.apply(arr,weiArr);
        // console.log(newArr,arr);// (6) ['婷婷', '明星', '雪儿', '晓洁', '君姐', '虹宇']  []

        //slice() 方法返回一个新的数组对象，这一对象是一个由 begin 和 end 决定的原数组的浅拷贝（包括 begin，不包括end）。原始数组不会被改变。
        //借用数组原型上的方法
        // let arr = Array.prototype.slice.call(weiArr,0);
        // console.log(arr);//['婷婷', '明星', '雪儿', '晓洁', '君姐', '虹宇']

        //Es6 Array.from()
        // let arr = Array.from(weiArr);
        // console.log(arr);//['婷婷', '明星', '雪儿', '晓洁', '君姐', '虹宇']

        //排序 sort(回调函数) sort方法为数组的方法，所以要先转为数组
        let arr = Array.from(weiArr).sort((a,b) => a-b)
        console.log(arr);
    </script>
</body>
</html>